#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdbool.h>

typedef int DataType;
typedef struct Heap {
	DataType* arr;
	int size;
	int capacity;
}Heap;

void HPInit(Heap* php);
void HPPush(Heap* php, DataType x);
void HPPop(Heap* php);
DataType HPTop(Heap* php);
bool HPEmpty(Heap* php);
void HPDestroy(Heap* php);

void AdJustDown(int* arr, int parent, int size);
void AdJustUp(int* arr, int child);

void Swap(DataType* a, DataType* b);
